home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / Testing & Debugging / Memory Management / MemHell init / MemHell ReadMe next >
Encoding:
Text File  |  1993-10-04  |  1.6 KB  |  18 lines  |  [TEXT/ttxt]

  1. MemHell
  2. Copyright (©) Apple Computer 1991
  3. All Rights Reserved
  4. By Ian Hendry
  5.  
  6. I wrote MemHell to stress memory management in ways that Macsbug heap scramble would not.  MemHell patches out most memory manager routines that might move or purge memory and, when these routines are called, MemHell calls MaxMem with a large request.  Calling MaxMem forces all purgable memory blocks to be purged and memory to be compacted.  MemHell should help bring out problem with stale de-referenced handles and purgable blocks that would otherwise show up as difficult to reproduce bugs.
  7.  
  8. Under normal circumstances, MemHell is really annoying because it slows your machine to a crawl.  You can prevent MemHell from loading by holding down the mouse button when extensions are loading.  You can temporarily disable MemHell at any time by holding down the control key. 
  9.  
  10. MemHell also checks that you are not calling these traps with the inturrupt level set to anything except 0.  This is not a fool proof check (and under future version of the operating system it may not catch anything), but for now it is not bad.
  11.  
  12. MemHell looks for a resource to configure the minimum size of block for which it will compress memory (set by default to be 0).  Open MemHell extension with ResEdit, if you add a resource of type 'gVar' containing a longint size, then MemHell will not trigger memory compaction on blocks smaller than that size.
  13.  
  14. MemHell will not compact memory when Setting a Handle or pointer to a smaller size.
  15.  
  16. Traps that may move memory, but not patched by this version of MemHell:
  17.     ResrvMem, ReallocHandle, NewEmptyHandle, and EmptyHandle
  18.